Lịch sử Bus_(máy_tính)

Thế hệ đầu tiên

Trong những máy tính đầu tiên bus là bó dây gắn vào bộ nhớ máy tính và thiết bị ngoại vi. Anecdotally gọi là "thân cây số",[1] chúng được đặt tên theo các bus cung cấp điện, hoặc các busbar. Hầu như luôn luôn có một bus cho bộ nhớ, và một hoặc nhiều bus riêng biệt cho thiết bị ngoại vi. Chúng được truy cập bằng cách hướng dẫn riêng biệt, với định thời và các giao thức hoàn toàn khác nhau.

Một trong những biến chứng đầu tiên là việc sử dụng các ngắt. Các chương trình máy tính đầu tiên thực hiện việc nhập/xuất bằng cách chờ đợi trong một vòng lặp cho đến khi các thiết bị ngoại vi sẵn sàng. Đây là một sự lãng phí thời gian cho các chương trình có các nhiệm vụ khác để làm. Ngoài ra, nếu chương trình đã cố gắng thực hiện những nhiệm vụ khác, nó có thể mất quá nhiều thời gian cho chương trình để kiểm tra một lần nữa, dẫn đến mất dữ liệu. Kỹ sư do đó bố trí cho các thiết bị ngoại vi làm gián đoạn các CPU. Các ngắt phải được ưu tiên, bởi vì CPU chỉ có thể thực thi mã cho một thiết bị ngoại vi tại một thời điểm, và một số thiết bị quan trọng thời gian hơn những thiết bị khác.

Hệ thống cao cấp đã giới thiệu ý tưởng của bộ điều khiển kênh, mà chủ yếu là máy tính nhỏ dành riêng cho bàn giao các đầu vào và đầu ra của một bus. IBM đã giới thiệu chúng trên IBM 709 năm 1958, và chúng đã trở thành một tính năng phổ biến của các nền tảng của họ. Các nhà cung cấp hiệu suất cao khác như Control Data Corporation thực hiện thiết kế tương tự. Nhìn chung, các bộ điều khiển kênh sẽ làm hết sức mình để chạy tất cả các hoạt động bus trong nội bộ, di chuyển dữ liệu khi CPU đã được biết đến là bận rộn ở những nơi khác nếu có thể, và chỉ sử dụng ngắt khi cần thiết. Điều này giảm tải CPU đi rất nhiều, và cung cấp hiệu suất hệ thống tổng thể tốt hơn.

Hệ thống bus đơn

Thế hệ thứ hai

Các hệ thống bus thế hệ thứ hai như loại bus Nubus mang đến một số vấn đề. Các hệ thống này tách máy tính làm 2 "bên", một bên là CPU và bộ nhớ, bên còn lại là các hệ thống thiết bị khác nhau. Bus điều khiển nhận dữ liệu từ một bên CPU và chuyển đến bên kia nơi chứa các thiết bị ngoại vi, vì vậy chuyển gánh nặng giao thức truyền thông tin từ chính CPU. Điều này cho phép bên chứa CPU và bộ nhớ tách riêng biệt với các thiết bị bus. Các thiết bị bus có thể liên lạc với nhau mà không sự can thiệp của CPU.

Thế hệ thứ ba

Các bus Thế hệ thứ ba được nổi lên ở thị trường vào khoảng năm 2001, bao gồm HyperTransportInfiniBand. Các bus này có khuynh hướng rất linh hoạt trong các điều kiện kết nối vật lý, cho phép chúng dùng như là các bus nội (bus trong) cũng như kết nối nhiều máy tính với nhau. Điều này dẫn đến các vấn đề phức tạp khi các bus này đáp ứng và phục vụ các yêu cầu khác nhau, với nhiều công việc trong các hệ thống liên quan đến thiết kế phần mềm, trái ngược với phần cứng. Tóm lại, các bus thế hệ thứ ba giống như một mạng máy tính hơn là khái niệm bus nguyên thủy, với một giao thức cao hơn nhu cầu so với các hệ thống ban đầu, trong khi cũng cho phép nhiều thiết bị sử dụng bus cùng một thời điểm.

Các bus như Wishbone (bus máy tính) được phát triển bởi các phần cứng mã mở nhằm nỗ lực loại bỏ các hạn chế về mặt pháp lý cũng như các bằng sáng chế từ việc chế tạo máy tính.

Xem thêm: Bus mạng